/**
 * Created by Administrator on 2018/4/12.
 */
Particle3D=function(material){
    THREE.Particle.call(this,material);
    this.velocity=new THREE.Vector3(0,-8,0);
    this.velocity.rotateX(randomRange(-45,45));
    this.velocity.rotateY(randomRange(0,360));
    this.gravity=new THREE.Vector3(0,0,0);
    this.drag=1;
};
Particle3D.prototype=new THREE.Particle();
Particle3D.prototype.constructor=Particle3D;
Particle3D.prototype.updatePhysics=function(){
    this.velocity.multiplyScalar(this.drag);
    this.velocity.addSelf(this.gravity);
    this.position.addSelf(this.velocity);
}
var TO_RADIANS=Math.PI/180;
THREE.Vector3.prototype.rotateY=function(angle){
    cosRY=Math.cos(angle*TO_RADIANS);
    sinRY=Math.sin(angle*TO_RADIANS);
    var tempz=this.z;;
    var tempx=this.x;
    this.x=(tempx*cosRY)+(tempz*sinRY);
    this.z=(tempx*-sinRY)+(tempz*cosRY);
}
THREE.Vector3.prototype.rotateX=function(angle){
    cosRY=Math.cos(angle*TO_RADIANS);
    sinRY=Math.sin(angle*TO_RADIANS);
    var tempz=this.z;;
    var tempy=this.y;
    this.y=(tempy*cosRY)+(tempz*sinRY);
    this.z=(tempy*-sinRY)+(tempz*cosRY);
}
THREE.Vector3.prototype.rotateZ=function(angle){
    cosRY=Math.cos(angle*TO_RADIANS);
    sinRY=Math.sin(angle*TO_RADIANS);
    var tempx=this.x;;
    var tempy=this.y;
    this.y=(tempy*cosRY)+(tempx*sinRY);
    this.x=(tempy*-sinRY)+(tempx*cosRY);
}
function randomRange(min,max){
    return((Math.random()*(max-min))+ min);
}